package com.yunshangwoniu.core.baseService;


import java.util.List;

import com.yunshangwoniu.core.page.Page;

public interface BaseService<T>
{
	/**
	 * 通过ID获得一个对象
	 * @param t
	 * @param id
	 * @return
	 */
	T getObjectById(Class<?> t,Object id);
	/**
	 * 保存一个对象
	 * @param t
	 * @return
	 */
	T saveObject(T t);
	/**
	 * 通过ID删除一个对象
	 * @param t
	 * @param id
	 */
	void deleteObjectById(Class<?> t,Object id);
	/**
	 * 通过用户名获得一个对象
	 * @param t
	 * @param username
	 * @return
	 */
	T getObjectByUsername(Class<?> t ,Object username);
	/**
	 * 通过姓名获得一个对象
	 * @param t
	 * @param name
	 * @return
	 */
	T getObjectByName(Class<?> t ,Object name);
	/**
	 * 多条件统计
	 * @param params
	 * @param t
	 * @return
	 */
	
	Page<T> queryObject(Page<T> page,Class<?> c);
	/**
	 * 更新
	 * @param t
	 */
	void updateObject(T t);
	
	/**
	 * 批量删除
	 * @param ids
	 * @param c
	 */
	void batchDeleteObject(List<Long> ids,Class<?> c);
}
